package cc.repository;

import cc.entity.Test;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import javax.transaction.Transactional;
import java.util.List;

/**
 * TODO
 *
 * @author My
 * @date 2021/6/22 14:59
 */
public interface TestRepository extends JpaRepository<Test,Integer> {
    //@Query()注解为自定义SQL查询语句，?1代表第一个参数。
    @Query("select s from  Test s where 1=1")
    List<Test> listAll();
    //【查】
    //查找id
    /* 可直接调用，或者自定义语句：
     * @Query("select s from  Test s where s.id = :id")
     * Test findbyid(@Param("id") Integer id);
     */
    //查找名字
    @Query("select s from  Test s where s.d_name = :d_name")
    Test findbyname(@Param("d_name") String d_name);
    //【删】
    @Transactional
    @Modifying
    @Query("delete from Test s  where s.id = :id")
    void deletebyid(@Param("id") Integer id);
    //【改】
    @Transactional
    @Modifying
    @Query("update Test s set s.d_name = :d_name where s.id = :id")
    void updatename(@Param("d_name") String d_name,@Param("id") Integer id);
}
